CentOS 7 Cookbook
CentOS 7을 사용하면서 알게된 것들에 대한 정리
서비스 관리: systemctl
- 상태관리
- systemctl: 전체 서비스 목록 조회
- systemctl list-unit-files : 서비스 목록을 조회하는데 활성화 여부만 표시
- systemctl --failed : 부팅시 실행에 실패한 서비스 목록
- systemctl is-enabled [서비스명] : 부팅시 서비스 자동 실행(활성화) 여부
- systemctl is-activate [서비스명] : 현재 서비스 동작 여부
- systemctl status -l [서비스명]: 서비스 상태 (-l 옵션으로 로그 표시)
- 동작관리
- systemctl enable [서비스명] : 부팅시 실행 활성
- systemctl disable [서비스명] : 부팅시 실행 비활성
- systemctl start / stop / restart
- systemctl reload [서비스명] : 서비스 변경사항 갱신
- systemctl daemon-reload: 위의 서비스 설정을 데몬에 즉시 반영
- systemctl kill [서비스명] : 서비스명과 관련된 프로세스 모두 kill
방화벽: firewalld
참조: https://www.lesstif.com/pages/viewpage.action?pageId=22053128
RHEL 7부터 방화벽을 관리하는 데몬이 firewalld로 변경됨에 따라 iptables 대신에 firewall-cmd 명령어를 사용. (firewall-config는 X-windows 환경에서 사용)
- 설정 파일:
/etc/firewalld/zones/public.xml
(public zone에 대한 설정, public zone은 기본 zone임) - 재구동:
firewall-cmd --reload
: iptables에서 restart 와 동일 - 활성화된 존 출력:
firewall-cmd --get-active-zone
- 서비스 목록:
firewall-cmd --get-service
- 영구적으로 등록된 서비스 목록:
firewall-cmd --permanent --list-all
- 임의적으로 포트 추가:
firewall-cmd --zone=public --add-port=8080/tcp
(영구적으로 등록하기 위해서는 --permanet 옵션을 붙이면 됨) - 포트 삭제:
firewall-cmd --zone=public --remove-port=8080/tcp
방화벽에 허용 포트 설정 과정
- 방화벽에 포트 추가: firewall-cmd --permanent --zone=public --add-service=http (또는 --add-port=80) 이런 식
- firewall 재시작: firewall-cmd --reload
- 정상 설정 여부 확인: 등록된 zone의 list를 출력해서 확인, firewall-cmd --list-service --zone=public (port인 경우 --list-service 대신 --list-ports)
그 밖에 웹서버 설정
- nginx 의 경우 기존에 아파치 httpd가 설치되어 있으면 비활성화를 시켜야 함
- httpd 비활성화: systemctl stop httpd && systemctl disable httpd
- nginx 서비스 활성화 및 시작: systemctl enable nginx.service && systemctl start nginx.service